package com.sky.exception;

/**
 * Description:
 *
 * @author houyi
 * @version 1.0
 * @date 2020/1/21 16:57
 * @since JDK 1.8
 */
public enum ExceptionEnum implements CommonException {


    /**
     * 所有的代码内部错误都抛出该异常
     */
    INTERNAL_ERROR(500, "内部服务异常"),

    /**
     * 如参数校验未通过，参数为空等抛出该异常
     */
    PARAMS_ERROR(100, "参数异常"),

    /**
     * 对爬虫等恶意访问抛出该异常
     */
    REQUEST_RATE_LIMIT(300, "请求超过速率"),

    /**
     * token校验未通过抛出该异常
     */
    TOKEN_ERROR(101, "token异常"),

    /**
     * token过期抛出该异常
     */
    TOKEN_EXPIRED(102, "token过期"),

    /**
     * 该账号已被绑定，请重新确认账号，或联系管理员
     */
    WX_ALREADY_BOUND_ACCOUNT(1000, "该账号已被绑定，请重新确认账号，或联系管理员"),
    /**
     * 微信账号未绑定个人账户，请继续绑定个人账号信息
     */
    WX_Unbound_Account(1001, "微信账号未绑定个人账户，请继续绑定个人账号信息"),
    /**
     * 该账号不存在或密码错误，绑定失败，请重试！
     */
    WX_Bound_Account_ERROR(1002, "该账号不存在或密码错误，绑定失败，请重试！"),
    //用户不存在
    USER_NOT_FOUND(1003, "用户不存在" ),
    //所修改的用户不存在
    USER_UPDATE_NOT_EXIST(1004, "所修改的用户不存在，请重试或联系管理员"),
    //剧本不存在
    SCRIPT_NOT_FOUND(1005, "剧本不存在"),
    //"用户已经预约过该场次"
    USER_ALREADY_BOOKED(1006, "用户已经预约过该场次"),
    //场次已约满
    SCRIPT_ALREADY_FULL(1007, "场次已约满"),
    //// 用户没有预约记录
    USER_NO_BOOKING_RECORD(1008, "用户没有预约记录");



    private int exCode;
    private String exMsg;

    ExceptionEnum(int exCode, String exMsg) {
        this.exCode = exCode;
        this.exMsg = exMsg;
    }

    @Override
    public int getExceptionCode() {
        return exCode;
    }

    @Override
    public String getExceptionMsg() {
        return exMsg;
    }

}